Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


meshchatx/src/frontend/components/TutorialModal.vue bf822b6abacccad60f5ca122948fcffe0b693c0f (bf822b6a) Text, 104.99 KB

Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72v-dialog
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3isPageTa5d6ff"
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3visibleTa5d6ff"
Tb4b4b4:Te6edf3fullscreenTff7b72=Ta5d6ff"Te6edf3isMobileTa5d6ff"
Te6edf3max-widthTff7b72=Ta5d6ff"800"
Te6edf3transitionTff7b72=Ta5d6ff"dialog-bottom-transition"
Te6edf3classTff7b72=Ta5d6ff"tutorial-dialog"
Te6edf3persistent
Tb4b4b4@Te6edf3updateTb4b4b4:Te6edf3model-valueTff7b72=Ta5d6ff"Te6edf3onVisibleUpdateTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-card Te6edf3classTff7b72=Ta5d6ff"flex flex-col h-full bg-white dark:bg-zinc-950 border-0 overflow-hidden relative"Tb4b4b4>
T8b949e<!-- Settings Controls -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute top-4 left-4 z-50 flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72LanguageSelector Tb4b4b4@Te6edf3language-changeTff7b72=Ta5d6ff"Te6edf3onLanguageChangeTa5d6ff" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"rounded-full p-1.5 sm:p-2 text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-zinc-800 transition-colors"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'Switch to light mode' Tff7b72: Ta5d6ff'Switch to dark mode'Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleThemeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'brightness-6' Tff7b72: Ta5d6ff'brightness-4'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-5 h-5 sm:w-6 sm:h-6"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Progress Bar -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-1.5 bg-gray-100 dark:bg-zinc-900 overflow-hidden flex"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3step Tff7b72in Te6edf3totalStepsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3stepTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-full transition-all duration-500 ease-out"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3currentStep Tff7b72>= Te6edf3step Tff7b72? Ta5d6ff'bg-blue-500' Tff7b72: Ta5d6ff'bg-transparent'Tb4b4b4,
Te6edf3currentStep Tff7b72=== Te6edf3step Tff7b72? Ta5d6ff'flex-[2]' Tff7b72: Ta5d6ff'flex-1'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3borderRightTff7b72: Te6edf3step Tff7b72< Te6edf3totalSteps Tff7b72? Ta5d6ff'1px solid rgba(0,0,0,0.05)' Tff7b72: Ta5d6ff'none' Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Content Area -->
Tb4b4b4<Tff7b72v-card-text Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto px-6 md:px-12 py-10 relative"Tb4b4b4>
Tb4b4b4<Tff7b72transition Te6edf3nameTff7b72=Ta5d6ff"fade-slide" Te6edf3modeTff7b72=Ta5d6ff"out-in"Tb4b4b4>
T8b949e<!-- Step 1: Welcome -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff1Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step1" Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-24 h-24 bg-blue-500/10 rounded-3xl rotate-12 absolute -inset-2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72img Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3logoUrlTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-24 h-24 relative z-10 p-2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h1 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black tracking-tight text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome"Tb4b4b4) Tff7b72}} Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>MeshChatXTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-md mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 gap-4 w-full mt-8"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-shield-lock" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-map-marker-path" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-tools" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-search" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-cancel" Te6edf3colorTff7b72=Ta5d6ff"amber" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-keyboard-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-translate" Te6edf3colorTff7b72=Ta5d6ff"cyan" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full flex justify-end items-center gap-2 mt-4 px-4 text-gray-400 dark:text-zinc-500"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-plus" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold uppercase tracking-widest"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.more_features"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 2: Add Interface -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff2Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step2" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3discoveryOption Tff7b72=== Tff7b72nullTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-6 py-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-blue-500/10 dark:bg-blue-500/20 p-6 rounded-[2rem] text-center space-y-4 border border-blue-500/20 max-w-md"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-search" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"48"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-lg font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.discovery_question"Tb4b4b4) Tff7b72||
Ta5d6ff"Do you want to use community interface discovering and auto-connect?"
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.discovery_desc"Tb4b4b4) Tff7b72||
Ta5d6ff"This allows MeshChatX to automatically find and connect to public community nodes near you or on the internet."
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-3 justify-center pt-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-2 rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-bold shadow-lg transition-all"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingDiscoveryTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useDiscoveryTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingDiscoveryTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"16"
Te6edf3widthTff7b72=Ta5d6ff"2"
Te6edf3classTff7b72=Ta5d6ff"mr-2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.yes"Tb4b4b4) Tff7b72|| Ta5d6ff"Yes, use discovery" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-2 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-bold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3discoveryOption Tff7b72= Ta5d6ff'no'Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.no"Tb4b4b4) Tff7b72|| Ta5d6ff"No, manual setup" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
T8b949e<!-- Discovered Interfaces (if any) -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"bg-emerald-500/5 dark:bg-emerald-500/10 rounded-3xl p-4 border border-emerald-500/20"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-3 px-1 text-sm"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-radar" Te6edf3colorTff7b72=Ta5d6ff"emerald"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Discovered InterfacesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3 max-h-[300px] overflow-y-auto pr-2 custom-scrollbar"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3sortedDiscoveredInterfacesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"interface-card group !p-3 transition-all duration-300"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-3 items-start relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"interface-card__icon !w-10 !h-10 !rounded-xl shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3getDiscoveryIconTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-5 h-5"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0 space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 flex-nowrap min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold text-gray-900 dark:text-white truncate min-w-0"
Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"type-chip !text-[9px] !px-1.5 shrink-0"Tb4b4b4>Tff7b72{{
Te6edf3ifaceTb4b4b4.Te6edf3type
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 flex-wrap"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3valueTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-bold text-blue-600 dark:text-blue-400 shrink-0"
Tb4b4b4>
Stamps: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3value Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-1.5 text-[10px] text-gray-500"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Hops: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3hops Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"capitalize shrink-0"Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3status Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3last_heardTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>
Tff7b72{{ Te6edf3formatLastHeardTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3last_heardTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-0.5 pt-1 text-[9px] text-gray-400 dark:text-zinc-500 min-w-0"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5 hover:text-blue-500 cursor-pointer min-w-0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3copyToClipboardTb4b4b4(
Ta5d6ff`Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTffd700}Ta5d6ff:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3portTffd700}Ta5d6ff`Tb4b4b4,
Ta5d6ff'Address'
Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3icon-nameTff7b72=Ta5d6ff"link-variant"
Te6edf3classTff7b72=Ta5d6ff"w-3 h-3 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"
Tb4b4b4>Address: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3reachable_on Tff7b72}}:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3transport_idTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5 hover:text-blue-500 cursor-pointer min-w-0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3copyToClipboardTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3transport_idTb4b4b4, Ta5d6ff'Transport ID'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3icon-nameTff7b72=Ta5d6ff"identifier"
Te6edf3classTff7b72=Ta5d6ff"w-3 h-3 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate font-mono"
Tb4b4b4>Transport ID: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3transport_id Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3network_idTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5 hover:text-blue-500 cursor-pointer min-w-0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3copyToClipboardTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3network_idTb4b4b4, Ta5d6ff'Network ID'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"lan" Te6edf3classTff7b72=Ta5d6ff"w-3 h-3 shrink-0" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate font-mono"
Tb4b4b4>Network ID: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3network_id Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1 shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[8px] bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 px-2 py-0.5 rounded-full font-bold uppercase tracking-wider"
Tb4b4b4>HeardTb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Community Interfaces -->
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-gray-50 dark:bg-zinc-900 rounded-3xl p-3 border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-3 px-2 text-sm"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-web" Te6edf3colorTff7b72=Ta5d6ff"blue"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.suggested_networks"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2 max-h-[260px] overflow-y-auto pr-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3communityInterfacesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between p-3 bg-white dark:bg-zinc-800 rounded-xl border border-gray-100 dark:border-zinc-700 hover:border-blue-400 transition-colors cursor-pointer"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-sm"Tb4b4b4>Tff7b72{{
Te6edf3ifaceTb4b4b4.Te6edf3name
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[11px] text-gray-500 dark:text-zinc-400"
Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_host Tff7b72}}:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3onlineTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1 text-[9px] font-bold text-green-500 uppercase tracking-[0.2em]"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.online"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[11px] rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.use"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3loadingInterfacesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex justify-center py-3"Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular Te6edf3indeterminate Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3discoveryOption Tff7b72!== Tff7b72nullTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-3 text-sm text-gray-900 dark:text-white"
Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"max-w-sm text-center"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.custom_interfaces_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-5 py-2 text-[11px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoAddInterfaceTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_interfaces"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 3: Propagation Mode -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff3Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step3" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-6 py-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-blue-500/10 dark:bg-blue-500/20 p-6 rounded-[2rem] text-center space-y-4 border border-blue-500/20 max-w-md"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-server-network" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"48"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-lg font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_question"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3 pt-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full px-6 py-3 rounded-2xl bg-blue-600 hover:bg-blue-500 text-white font-bold shadow-lg transition-all transform hover:scale-[1.02]"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3enableAutoPropagationTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Te6edf3classTff7b72=Ta5d6ff"mr-2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_enable_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full px-6 py-3 rounded-2xl border-2 border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-bold shadow-sm transition-all transform hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_skip_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-6 pt-6 border-t border-gray-200 dark:border-zinc-800"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold text-gray-900 dark:text-white mb-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 4: Documentation & Tools -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff4Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step4" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-book-open-variant" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/meshchatx-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all inline-block"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.meshchatx_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/reticulum-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500 inline-block"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.reticulum_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-file-document-edit-outline" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'micron-editor'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 sm:grid-cols-2 gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-earth" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-message-text-outline" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-hub" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-colors"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone-in-talk-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 5: Finish -->
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff5Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"step5"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-8 py-10"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 bg-green-500/10 rounded-full flex items-center justify-center relative"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-check-decagram" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"80"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute inset-0 bg-green-500/20 rounded-full animate-ping opacity-20"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-md mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3interfaceAddedViaTutorialTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"p-4 bg-amber-50 dark:bg-amber-900/20 rounded-2xl border border-amber-100 dark:border-amber-900/30 text-amber-700 dark:text-amber-400 text-sm flex gap-3 max-w-md text-left"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-information-outline" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.docker_note"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72transitionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-textTb4b4b4>

T8b949e<!-- Footer -->
Tb4b4b4<Tff7b72v-divider Te6edf3classTff7b72=Ta5d6ff"dark:border-zinc-900"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-dividerTb4b4b4>
Tb4b4b4<Tff7b72v-card-actions Te6edf3classTff7b72=Ta5d6ff"px-6 py-6 bg-gray-50 dark:bg-zinc-950/50 flex justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72> T79c0ff1 Tff7b72&& Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-2.5 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentStepTff7b72--Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.back"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-elseTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-6 py-2.5 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all opacity-50 hover:opacity-100 hover:bg-gray-50 dark:hover:bg-zinc-700"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold text-sm shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.next"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl bg-emerald-600 hover:bg-emerald-500 text-white font-semibold text-sm shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3finishTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.finish_setup"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-actionsTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-cardTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-dialogTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"flex flex-col h-full bg-white dark:bg-zinc-950 overflow-hidden relative"Tb4b4b4>
T8b949e<!-- Settings Controls -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute top-4 left-4 z-50 flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72LanguageSelector Tb4b4b4@Te6edf3language-changeTff7b72=Ta5d6ff"Te6edf3onLanguageChangeTa5d6ff" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"rounded-full p-1.5 sm:p-2 text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-zinc-800 transition-colors"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'Switch to light mode' Tff7b72: Ta5d6ff'Switch to dark mode'Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleThemeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'brightness-6' Tff7b72: Ta5d6ff'brightness-4'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-5 h-5 sm:w-6 sm:h-6"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Progress Bar -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-1.5 bg-gray-100 dark:bg-zinc-900 overflow-hidden flex"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3step Tff7b72in Te6edf3totalStepsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3stepTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-full transition-all duration-500 ease-out"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3currentStep Tff7b72>= Te6edf3step Tff7b72? Ta5d6ff'bg-blue-500' Tff7b72: Ta5d6ff'bg-transparent'Tb4b4b4,
Te6edf3currentStep Tff7b72=== Te6edf3step Tff7b72? Ta5d6ff'flex-[2]' Tff7b72: Ta5d6ff'flex-1'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3borderRightTff7b72: Te6edf3step Tff7b72< Te6edf3totalSteps Tff7b72? Ta5d6ff'1px solid rgba(0,0,0,0.05)' Tff7b72: Ta5d6ff'none' Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto px-6 md:px-12 py-10"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-full flex flex-col justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72transition Te6edf3nameTff7b72=Ta5d6ff"fade-slide" Te6edf3modeTff7b72=Ta5d6ff"out-in"Tb4b4b4>
T8b949e<!-- Step 1: Welcome -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff1Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"page-step1"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-8 py-10"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 bg-blue-500/10 rounded-3xl rotate-12 absolute -inset-2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72img Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3logoUrlTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 relative z-10 p-2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h1 Te6edf3classTff7b72=Ta5d6ff"text-5xl font-black tracking-tight text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome"Tb4b4b4) Tff7b72}} Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>MeshChatXTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 w-full mt-12"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-shield-lock" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-map-marker-path" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-tools" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-search" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-cancel" Te6edf3colorTff7b72=Ta5d6ff"amber" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-keyboard-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-translate" Te6edf3colorTff7b72=Ta5d6ff"cyan" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full flex justify-end items-center gap-2 mt-8 px-6 text-gray-400 dark:text-zinc-500"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-plus" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-base font-bold uppercase tracking-widest"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.more_features"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 2: Add Interface -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff2Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step2" Te6edf3classTff7b72=Ta5d6ff"space-y-6 py-8"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3discoveryOption Tff7b72=== Tff7b72nullTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-8 py-12"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-blue-500/10 dark:bg-blue-500/20 p-12 rounded-[3rem] text-center space-y-6 border border-blue-500/20 max-w-2xl shadow-2xl"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-search" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"80"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.discovery_question"Tb4b4b4) Tff7b72||
Ta5d6ff"Do you want to use community interface discovering and auto-connect?"
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.discovery_desc"Tb4b4b4) Tff7b72||
Ta5d6ff"This allows MeshChatX to automatically find and connect to public community nodes near you or on the internet."
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-6 justify-center pt-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-10 py-4 text-xl rounded-2xl bg-blue-600 hover:bg-blue-500 text-white font-black shadow-xl transition-all transform hover:scale-105"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingDiscoveryTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useDiscoveryTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingDiscoveryTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"24"
Te6edf3widthTff7b72=Ta5d6ff"3"
Te6edf3classTff7b72=Ta5d6ff"mr-3"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.yes"Tb4b4b4) Tff7b72|| Ta5d6ff"Yes, use discovery" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-10 py-4 text-xl rounded-2xl border-2 border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-black shadow-lg transition-all transform hover:scale-105"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3discoveryOption Tff7b72= Ta5d6ff'no'Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.no"Tb4b4b4) Tff7b72|| Ta5d6ff"No, manual setup" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-6"Tb4b4b4>
T8b949e<!-- Left/Middle Columns: Discovered & Community -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"lg:col-span-1 xl:col-span-2 space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 xl:grid-cols-2 gap-6"Tb4b4b4>
T8b949e<!-- Discovered Interfaces -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"bg-emerald-500/5 dark:bg-emerald-500/10 rounded-[1.5rem] p-5 border border-emerald-500/20 h-fit"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between mb-5"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-radar" Te6edf3colorTff7b72=Ta5d6ff"emerald" Te6edf3sizeTff7b72=Ta5d6ff"26"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-lg font-bold text-gray-900 dark:text-white"
Tb4b4b4>DiscoveredTb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3interfacesWithLocationTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-2 py-1 text-[9px] rounded-lg bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 font-bold border border-emerald-500/20 hover:bg-emerald-500/20 transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3mapAllDiscoveredTa5d6ff"
Tb4b4b4>
Map All (Tff7b72{{ Te6edf3interfacesWithLocationTb4b4b4.Te6edf3length Tff7b72}})
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3 max-h-[600px] overflow-y-auto pr-3 custom-scrollbar"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3sortedDiscoveredInterfacesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"interface-card group !p-4 transition-all duration-300"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4 items-start relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"interface-card__icon !w-12 !h-12 !rounded-2xl shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3getDiscoveryIconTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-6 h-6"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0 space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 flex-nowrap min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-lg font-bold text-gray-900 dark:text-white truncate min-w-0"
Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"type-chip shrink-0"Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3type Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 flex-wrap"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3valueTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold text-blue-600 dark:text-blue-400 shrink-0"
Tb4b4b4>
Stamps: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3value Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2 text-xs text-gray-500"Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"stat-chip !px-2 !py-0.5"
Tb4b4b4>Hops: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3hops Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"stat-chip !px-2 !py-0.5 capitalize shrink-0"Tb4b4b4>Tff7b72{{
Te6edf3ifaceTb4b4b4.Te6edf3status
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3last_heardTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"stat-chip !px-2 !py-0.5 shrink-0"
Tb4b4b4>
Tff7b72{{ Te6edf3formatLastHeardTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3last_heardTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"grid gap-1.5 pt-1 text-[11px] text-gray-500 dark:text-zinc-400 min-w-0"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 hover:text-blue-500 cursor-pointer transition-colors min-w-0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3copyToClipboardTb4b4b4(
Ta5d6ff`Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTffd700}Ta5d6ff:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3portTffd700}Ta5d6ff`Tb4b4b4,
Ta5d6ff'Address'
Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3icon-nameTff7b72=Ta5d6ff"link-variant"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"
Tb4b4b4>Address: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3reachable_on Tff7b72}}:Tff7b72{{
Te6edf3ifaceTb4b4b4.Te6edf3port
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3transport_idTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 hover:text-blue-500 cursor-pointer transition-colors min-w-0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3copyToClipboardTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3transport_idTb4b4b4, Ta5d6ff'Transport ID'Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3icon-nameTff7b72=Ta5d6ff"identifier"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate font-mono"
Tb4b4b4>Transport ID: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3transport_id Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3network_idTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 hover:text-blue-500 cursor-pointer transition-colors min-w-0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3copyToClipboardTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3network_idTb4b4b4, Ta5d6ff'Network ID'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3icon-nameTff7b72=Ta5d6ff"lan"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate font-mono"
Tb4b4b4>Network ID: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3network_id Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3latitude Tff7b72!= Tff7b72null Tff7b72&& Te6edf3ifaceTb4b4b4.Te6edf3longitude Tff7b72!= Tff7b72nullTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 hover:text-blue-500 cursor-pointer transition-colors min-w-0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3copyToClipboardTb4b4b4(
Ta5d6ff`Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3latitudeTffd700}Ta5d6ff, Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3longitudeTffd700}Ta5d6ff`Tb4b4b4,
Ta5d6ff'Location'
Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3icon-nameTff7b72=Ta5d6ff"map-marker"
Te6edf3classTff7b72=Ta5d6ff"w-4 h-4 shrink-0"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"truncate"
Tb4b4b4>Loc: Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3latitude Tff7b72}},
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3longitude Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[10px] bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 px-3 py-1 rounded-full font-bold uppercase tracking-wider"
Tb4b4b4>HeardTb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Community Interfaces -->
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-gray-50 dark:bg-zinc-900 rounded-[1.5rem] p-5 border border-gray-100 dark:border-zinc-800 h-fit"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-5"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-web" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"26"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-lg font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.suggested_relays"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3 max-h-[600px] overflow-y-auto pr-3 custom-scrollbar"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3communityInterfacesTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between p-3 bg-white dark:bg-zinc-800 rounded-xl border border-gray-100 dark:border-zinc-700 hover:border-blue-400 transition-all cursor-pointer"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-base truncate"
Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 font-mono truncate"
Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_host Tff7b72}}:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 shrink-0"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3onlineTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5 text-[9px] font-bold text-green-500 uppercase tracking-[0.2em]"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"w-2 h-2 rounded-full bg-green-500 animate-pulse"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.online"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-4 py-1 text-[11px] rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.use"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3loadingInterfacesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex justify-center py-4"Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3indeterminate
Te6edf3colorTff7b72=Ta5d6ff"blue"
Te6edf3sizeTff7b72=Ta5d6ff"32"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Right Column: Manual Setup -->
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col justify-center gap-4 text-sm text-gray-900 dark:text-white bg-gray-50 dark:bg-zinc-900 rounded-[1.5rem] p-8 border border-gray-100 dark:border-zinc-800 h-fit my-auto"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-plus-circle-outline" Te6edf3sizeTff7b72=Ta5d6ff"48" Te6edf3colorTff7b72=Ta5d6ff"blue"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.custom_interfaces"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.custom_interfaces_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"mt-4 px-6 py-3 text-sm rounded-xl border-2 border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-bold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoAddInterfaceTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_interfaces"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 3: Propagation Mode -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff3Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step3" Te6edf3classTff7b72=Ta5d6ff"space-y-8 py-12"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-10 py-12"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-blue-500/10 dark:bg-blue-500/20 p-12 rounded-[3rem] text-center space-y-8 border border-blue-500/20 max-w-2xl shadow-2xl"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-server-network" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"80"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_question"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-4 pt-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-10 py-4 text-xl rounded-2xl bg-blue-600 hover:bg-blue-500 text-white font-black shadow-xl transition-all transform hover:scale-105"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3enableAutoPropagationTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"24"
Te6edf3widthTff7b72=Ta5d6ff"3"
Te6edf3classTff7b72=Ta5d6ff"mr-3"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_enable_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-10 py-4 text-xl rounded-2xl border-2 border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-black shadow-lg transition-all transform hover:scale-105"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_skip_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-8 pt-8 border-t-2 border-gray-200 dark:border-zinc-800"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-base text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 4: Documentation & Tools -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff4Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step4" Te6edf3classTff7b72=Ta5d6ff"space-y-8 py-10"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 gap-8"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-6 p-8 rounded-[2rem] bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-book-open-variant" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"64"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-2xl text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white mb-6"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/meshchatx-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"h-12 rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all inline-flex items-center justify-center px-6"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.read_meshchatx_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/reticulum-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"h-12 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500 inline-flex items-center justify-center px-6"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.reticulum_manual"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-6 p-8 rounded-[2rem] bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-file-document-edit-outline" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"64"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-2xl text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white mb-6"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full h-12 rounded-xl bg-orange-600 hover:bg-orange-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'micron-editor'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-earth" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-message-text-outline" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-hub" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-4 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-center border border-gray-100 dark:border-zinc-800 cursor-pointer hover:border-blue-500 transition-all hover:scale-[1.02]"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone-in-talk-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 5: Finish -->
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff5Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"page-step5"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-10 py-20"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-48 h-48 bg-green-500/10 rounded-full flex items-center justify-center relative"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-check-decagram" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"120"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute inset-0 bg-green-500/20 rounded-full animate-ping opacity-20"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-5xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"p-6 bg-amber-50 dark:bg-amber-900/20 rounded-3xl border border-amber-100 dark:border-amber-900/30 text-amber-700 dark:text-amber-400 flex gap-4 max-w-xl text-left"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-information-outline" Te6edf3sizeTff7b72=Ta5d6ff"32" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-lg"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_required"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"opacity-90"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72transitionTb4b4b4>

T8b949e<!-- Navigation Buttons (Page Mode) -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-between items-center mt-12 border-t dark:border-zinc-900 pt-8"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72> T79c0ff1 Tff7b72&& Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3currentStepTff7b72--Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.back"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-elseTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-8 h-12 rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold text-sm shadow-sm transition-all opacity-50 hover:opacity-100 hover:bg-gray-50 dark:hover:bg-zinc-700"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip_setup"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-12 h-14 text-lg rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.continue"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-12 h-14 text-lg rounded-xl bg-emerald-600 hover:bg-emerald-500 text-white font-semibold shadow-sm transition-all"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3finishTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.finish_setup"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>

Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3logoUrl Tff7b72from Ta5d6ff"../assets/images/logo.png"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../js/ToastUtils"Tb4b4b4;
Tff7b72import Te6edf3DialogUtils Tff7b72from Ta5d6ff"../js/DialogUtils"Tb4b4b4;
Tff7b72import Te6edf3GlobalState Tff7b72from Ta5d6ff"../js/GlobalState"Tb4b4b4;
Tff7b72import Te6edf3LanguageSelector Tff7b72from Ta5d6ff"./LanguageSelector.vue"Tb4b4b4;
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"./MaterialDesignIcon.vue"Tb4b4b4;

Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"TutorialModal"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3LanguageSelectorTb4b4b4,
Te6edf3MaterialDesignIconTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3visibleTff7b72: Tff7b72falseTb4b4b4,
Te6edf3currentStepTff7b72: T79c0ff1Tb4b4b4,
Te6edf3totalStepsTff7b72: T79c0ff5Tb4b4b4,
Te6edf3logoUrlTb4b4b4,
Te6edf3communityInterfacesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3loadingInterfacesTff7b72: Tff7b72falseTb4b4b4,
Te6edf3interfaceAddedViaTutorialTff7b72: Tff7b72falseTb4b4b4,
Te6edf3discoveryOptionTff7b72: Tff7b72nullTb4b4b4,
Te6edf3discoveredInterfacesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3discoveredActiveTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3loadingDiscoveredTff7b72: Tff7b72falseTb4b4b4,
Te6edf3savingDiscoveryTff7b72: Tff7b72falseTb4b4b4,
Te6edf3savingPropagationTff7b72: Tff7b72falseTb4b4b4,
Te6edf3discoveryIntervalTff7b72: Tff7b72nullTb4b4b4,
Te6edf3markingSeenTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3isPageTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3metaTff7b72?Tb4b4b4.Te6edf3isPage Tff7b72=== Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isMobileTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657windowTb4b4b4.Te6edf3innerWidth Tff7b72< T79c0ff640Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3configTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3sortedDiscoveredInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3discoveredInterfacesTb4b4b4]Tb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4(Te6edf3bTb4b4b4.Te6edf3last_heard Tff7b72|| T79c0ff0Tb4b4b4) Tff7b72- Tb4b4b4(Te6edf3aTb4b4b4.Te6edf3last_heard Tff7b72|| T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3interfacesWithLocationTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3discoveredInterfacesTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4=> Te6edf3ifaceTb4b4b4.Te6edf3latitude Tff7b72!= Tff7b72null Tff7b72&& Te6edf3ifaceTb4b4b4.Te6edf3longitude Tff7b72!= Tff7b72nullTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveryInterval Tff7b72= Te6edf3setIntervalTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff5000Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Tff7b72async Te6edf3toggleThemeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3newTheme Tff7b72= Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff"dark" Tff7b72? Ta5d6ff"light" Tff7b72: Ta5d6ff"dark"Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3themeTff7b72: Te6edf3newThemeTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72= Te6edf3newThemeTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to update theme:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onLanguageChangeTb4b4b4(Te6edf3langCodeTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3languageTff7b72: Te6edf3langCodeTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3$i18nTb4b4b4.Te6edf3locale Tff7b72= Te6edf3langCodeTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3language Tff7b72= Te6edf3langCodeTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to update language:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3showTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff1Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveryOption Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;

Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3discoveryInterval Tff7b72= Te6edf3setIntervalTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff5000Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingInterfaces Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/community-interfaces"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3communityInterfaces Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3interfacesTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to load community interfaces:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingInterfaces Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingDiscovered Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/reticulum/discovered-interfacesTa5d6ff`Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveredInterfaces Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3interfaces Tff7b72?? Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveredActive Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3active Tff7b72?? Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to load discovered interfaces:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingDiscovered Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3useDiscoveryTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingDiscovery Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3payload Tff7b72= Tb4b4b4{
Te6edf3discover_interfacesTff7b72: Tff7b72trueTb4b4b4,
Te6edf3autoconnect_discovered_interfacesTff7b72: T79c0ff3Tb4b4b4, T8b949e// default to 3 slots
Tb4b4b4}Tb4b4b4;
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/reticulum/discoveryTa5d6ff`Tb4b4b4, Te6edf3payloadTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.discovery_enabled"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveryOption Tff7b72= Ta5d6ff"yes"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3nextStepTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to enable discovery:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_enable_discovery"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingDiscovery Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3enableAutoPropagationTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingPropagation Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_auto_selectTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff"Auto-propagation enabled"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3nextStepTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to enable auto-propagation:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to enable auto-propagation"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingPropagation Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3getDiscoveryIconTb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4{
Tff7b72switch Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"AutoInterface"Tff7b72:
Tff7b72return Ta5d6ff"home-automation"Tb4b4b4;
Tff7b72case Ta5d6ff"RNodeInterface"Tff7b72:
Tff7b72return Te6edf3ifaceTb4b4b4.Te6edf3port Tff7b72&& Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4.Te6edf3toStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"tcp://"Tb4b4b4) Tff7b72? Ta5d6ff"lan-connect" Tff7b72: Ta5d6ff"radio-tower"Tb4b4b4;
Tff7b72case Ta5d6ff"RNodeMultiInterface"Tff7b72:
Tff7b72return Ta5d6ff"access-point-network"Tb4b4b4;
Tff7b72case Ta5d6ff"TCPClientInterface"Tff7b72:
Tff7b72case Ta5d6ff"BackboneInterface"Tff7b72:
Tff7b72return Ta5d6ff"lan-connect"Tb4b4b4;
Tff7b72case Ta5d6ff"TCPServerInterface"Tff7b72:
Tff7b72return Ta5d6ff"lan"Tb4b4b4;
Tff7b72case Ta5d6ff"UDPInterface"Tff7b72:
Tff7b72return Ta5d6ff"wan"Tb4b4b4;
Tff7b72case Ta5d6ff"SerialInterface"Tff7b72:
Tff7b72return Ta5d6ff"usb-port"Tb4b4b4;
Tff7b72case Ta5d6ff"KISSInterface"Tff7b72:
Tff7b72case Ta5d6ff"AX25KISSInterface"Tff7b72:
Tff7b72return Ta5d6ff"antenna"Tb4b4b4;
Tff7b72case Ta5d6ff"I2PInterface"Tff7b72:
Tff7b72return Ta5d6ff"eye"Tb4b4b4;
Tff7b72case Ta5d6ff"PipeInterface"Tff7b72:
Tff7b72return Ta5d6ff"pipe"Tb4b4b4;
Tff7b72defaultTff7b72:
Tff7b72return Ta5d6ff"server-network"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3formatLastHeardTb4b4b4(Te6edf3tsTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3seconds Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000 Tff7b72- Te6edf3tsTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72< T79c0ff60Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Te6edf3secondsTffd700}Ta5d6ffs agoTa5d6ff`Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72< T79c0ff3600Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3seconds Tff7b72/ T79c0ff60Tb4b4b4)Tffd700}Ta5d6ffm agoTa5d6ff`Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72< T79c0ff86400Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3seconds Tff7b72/ T79c0ff3600Tb4b4b4)Tffd700}Ta5d6ffh agoTa5d6ff`Tb4b4b4;
Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3seconds Tff7b72/ T79c0ff86400Tb4b4b4)Tffd700}Ta5d6ffd agoTa5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3copyToClipboardTb4b4b4(Te6edf3textTb4b4b4, Te6edf3labelTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3textTb4b4b4) Tff7b72returnTb4b4b4;
Te6edf3navigatorTb4b4b4.Te6edf3clipboardTb4b4b4.Te6edf3writeTextTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff`Tffd700${Te6edf3labelTffd700}Ta5d6ff copied to clipboardTa5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mapAllDiscoveredTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"map"Tb4b4b4,
Te6edf3queryTff7b72: Tb4b4b4{ Te6edf3viewTff7b72: Ta5d6ff"discovered" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3selectCommunityInterfaceTb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/interfaces/add"Tb4b4b4, Tb4b4b4{
Te6edf3nameTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3nameTb4b4b4,
Te6edf3typeTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4,
Te6edf3target_hostTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3target_hostTb4b4b4,
Te6edf3target_portTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3target_portTb4b4b4,
Te6edf3enabledTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff`Ta5d6ffAdded interface: Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72trueTb4b4b4;

T8b949e// track change
Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChanges Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Te6edf3addTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3nextStepTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Ta5d6ff"Failed to add interface"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3gotoAddInterfaceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/interfaces/add" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3gotoRouteTb4b4b4(Te6edf3routeNameTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3nameTff7b72: Te6edf3routeName Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3nextStepTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72< Tff7b72thisTb4b4b4.Te6edf3totalStepsTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentStepTff7b72++Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3skipTutorialTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3markSeenTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3markingSeenTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3markingSeen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/app/tutorial/seen"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to mark tutorial as seen:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3markingSeen Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3finishTutorialTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorialTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_desc"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onVisibleUpdateTb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3valTb4b4b4) Tb4b4b4{
T8b949e// if closed by clicking away or programmatically, mark as seen
Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>

Tb4b4b4<Tff7b72style Te6edf3scopedTb4b4b4>
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-fieldTff7b72) Tb4b4b4{
Tff7b72border-radiusTb4b4b4: T79c0ff1Tffa657rem Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field--variant-outlined Tb4b4b4.T56d364v-field__outlineTff7b72) Tb4b4b4{
Te6edf3--v-field-border-opacityTb4b4b4: T79c0ff0.15Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field--focused Tb4b4b4.T56d364v-field__outlineTff7b72) Tb4b4b4{
Te6edf3--v-field-border-opacityTb4b4b4: T79c0ff1Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field__inputTff7b72) Tb4b4b4{
Tff7b72padding-topTb4b4b4: T79c0ff24Tffa657px Tff7b72!importantTb4b4b4;
Tff7b72padding-bottomTb4b4b4: T79c0ff8Tffa657px Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-label--floatingTff7b72) Tb4b4b4{
Tff7b72transformTb4b4b4: Tffa657translateYTb4b4b4(T79c0ff-8Tffa657pxTb4b4b4) Tffa657scaleTb4b4b4(T79c0ff0.75Tb4b4b4) Tff7b72!importantTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff800 Tff7b72!importantTb4b4b4;
Tff7b72text-transformTb4b4b4: Tff7b72uppercase Tff7b72!importantTb4b4b4;
Tff7b72letter-spacingTb4b4b4: T79c0ff0.05Tffa657em Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-select Tb4b4b4.T56d364v-theme--lightTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-listTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-itemTff7b72) Tb4b4b4{
Tff7b72background-colorTb4b4b4: Tff7b72white Tff7b72!importantTb4b4b4;
Tff7b72colorTb4b4b4: T79c0ff#111827 Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-item-titleTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-item-subtitleTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: Tff7b72inherit Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-listTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-list-itemTff7b72) Tb4b4b4{
Tff7b72background-colorTb4b4b4: T79c0ff#18181b Tff7b72!importantTb4b4b4;
Tff7b72colorTb4b4b4: Tff7b72white Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field__inputTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: Tff7b72inherit Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-labelTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: T79c0ff#6b7280 Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-labelTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: T79c0ff#a1a1aa Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4.T56d364v-overlay__content Tb4b4b4{
Tff7b72border-radiusTb4b4b4: T79c0ff2Tffa657rem Tff7b72!importantTb4b4b4;
Tff7b72overflowTb4b4b4: Tff7b72hiddenTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364fade-slide-enter-activeTff7b72,
Tb4b4b4.T56d364fade-slide-leave-active Tb4b4b4{
Tff7b72transitionTb4b4b4: Tff7b72all T79c0ff0.4Tffa657s Tffa657cubic-bezierTb4b4b4(T79c0ff0.4Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0.2Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364fade-slide-enter-from Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tff7b72transformTb4b4b4: Tffa657translateXTb4b4b4(T79c0ff30Tffa657pxTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364fade-slide-leave-to Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tff7b72transformTb4b4b4: Tffa657translateXTb4b4b4(T79c0ff-30Tffa657pxTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────